﻿/* Original Author:  Dominick O'Dierno
 * Date: 2007   odiernod@gmail.com     --Originally intended for use with DOMercury:  http://www.odierno.com/domercury
 * Description: Defines the functionality of an IDOMercuryUserInterface
 * 
 * --CHANGELOG--
 * 
 * */
using System;
using System.Collections.Generic;
using System.Text;

namespace DOMercury.Interfaces
{
    public interface IDOMercuryUserInterface
    {
        /// <summary>
        /// Called when your interface needs to be activated, ie someone pushes the hotkey
        /// </summary>
        void ActivateForm();

        /// <summary>
        /// Called when DOMercury needs to deactivate your interface, normally however you will be responsible for deactivating yourself 
        /// </summary>
        void DeactivateForm();

        /// <summary>
        /// Called when DOMercury needs to close your interface
        /// </summary>
        void CloseForm();

        /// <summary>
        /// Called when the user wants to see any Display Options for your interface
        /// </summary>
        void DisplayOptions();

        /// <summary>
        /// Tells DOMercury if your interface has a DisplayOptions form
        /// </summary>
        /// <returns></returns>
        bool HasOptions
        {
            get;
        }
    }
}
